home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Trading on the Edge
/
Trading On The Edge - CD-ROM Toolkit (Wayzata Technology)(2031)(1994).bin
/
pc
/
shared
/
snns
/
snnsv3_0.z
/
snnsv3_0
/
SNNSv3.0
/
help.hdoc
< prev
next >
Wrap
Text File
|
1993-03-25
|
84KB
|
2,134 lines
----------------------------------------------------------------------
* Using The Graphical User Interface
----------------------------------------------------------------------
* XGUI Files
The graphical user interface consists of the following files:
snns or xgui SNNS program (XGUI and simulator kernel
linked together into one executable program)
default.cfg default configuration file
help.hdoc help text used by XGUI (this file)
The file 'snns' in the home directory of SNNS is only a symbolic link
to the file
xgui/bin/<architecture>/xgui
where <architecture> is one of the currently supported machine
architectures, like sparc, dec, sun3, RS6000, hp, pc386 (with Unix V)
or other.
The file 'help.hdoc' is this file.
XGUI looks for the files 'default.cfg' and 'help.hdoc' first in the
current directory. If not found there, it looks in the directory
specified by the environment variable XGUILOADPATH. By the command
setenv XGUILOADPATH Path
this variable can be set to the path where the 'default.cfg' and
'help.hdoc' files are located. This is best done by an entry in the
files '.login' or '.cshrc'. Advanced users may change the help file or
the default configuration for their own purposes. However, this should
be done only on a copy of the files in a private directory.
SNNS uses the following extensions for its files:
.net network files (units and link weights)
.pat pattern files
.cfg configuration settings files
.txt text files (log files)
.res result files (unit activations)
A simulator run is started by the command
snns <Return>
in the home directory of SNNS or by directly calling
<SNNS-directory>/xgui/bin/<architecture>/xgui
from any directory. Note that either XGUILOADPATH must be set properly
before or SNNS will complain about missing files 'default.cfg' and
'help.hdoc'.
The executable xgui may also be called with X parameters as arguments.
The following example starts the interface with the font 6x12:
snns -font 6x12 <Return>
The interface is designed for a 8x13 font. The smaller font 6x12 is
less readable but may display more information in the windows. The
current version cannot handle fonts wider than 8 pixels.
* Windows of XGUI
The graphical user interface has the following windows which can be
positioned and handled independently (toplevel shells):
- Manager panel with Info panel called xgui-info, near the bottom left,
the Menu button GUI to open other windows, a message line at the
right of this button, and a line with status information at the
bottom.
- several Displays to display the network graphically in two
dimensions.
- 3D View panel to control the three dimensional network
visualization component.
- Remote panel to control the simulator operations.
- Bignet panel to facilitate the creation of big regular
feed-forward nets, time delay, ART1, ART2 and ARTMAP networks.
- several Help windows to display the help text.
- Cascade panel for control of the learning phase of cascade
correlation learning.
- Graph display, to explain the network error during
teaching graphically.
- Inversion display, to control the network analyzing tool.
- Weight Display, to show the weight matrix as a WV or Hinton diagram.
There are a number of other popup windows which are invoked by
pressing a button in one of the main windows or choosing a menu. Of
the above mentioned popup windows, the file panel is the most
important, since it is needed to load or save networks, pattern and
configuration files.
The Manager panel contains all elements needed for working with the
interface. It should therefore always be kept visible.
The Info panel in the Manager panel displays the attributes of two
units and the data of the link between them. All attributes may also
be changed here. The data displayed here is important for many editor
commands.
The other windows are called with the button GUI. The button QUIT is
used to leave XGUI. The message line shows information about current
operations, like additional information of severe errors.
In each of the 2D Displays a part of the network is displayed, while
all settings can be changed using Setup. A special feature is the
filtering of data, both to speed up graphics and to be able to
concentrate on important features. These windows also allow access to
the network editor using the keyboard.
The Remote panel constitutes a remote control for the simulator
operations.
In the File panel a log file can be specified, where all XGUI output
to stdout is copied to. A variety of data about the network can be
displayed here. Also a record is kept on the load and save of files
and on the teaching.
The complete help text from the file help.hdoc is available in the
text section of a help window. Information about a word can be
retrieved by marking that word in the text and then clicking LOOK or
MORE. A list of keywords can be obtained by a click to TOPICS. This
window also allows context sensitive help when the editor is used with
the keyboard.
* ManagerPanel
The Manager panel contains the info panel, a message and the status
line. From the manager panel all other elements that have a different,
independent window assigned can be called. Because this window is of
such central importance, it is recommended to keep it visible all the
time.
- Button [GUI]
If this menu button is clicked, and the mouse button is kept pressed,
a menu to request a window appears. The user can request several
displays or help windows, but only one remote panel or text window.
+-----------+
| FILE |
| DISPLAY |
| 3D VIEW |
| INVERSION |
| WEIGHTS |
| GRAPH |
| REMOTE |
| BIGNET |
| CASCADE |
| PRINT |
| HELP |
| QUIT |
+-----------+
- Manager Message
This line features messages about a current operation or its termina-
tion. Possible messages are:
Found help topic was found.
Update link done. new weight was assigned.
Listing a list is being produced.
n steps. Calc ... n update steps are performed now.
Saving ... something is saved.
... saved. ... got saved.
Loading ... something is loaded.
... loaded. ... got loaded.
HELP: ... help information about ... is displayed.
Warnings and errors are also displayed here. The following warnings
are possible:
No .. unit selected action can not be performed, because no target
or source is selected in the info panel.
Can't update link. weight can not be assigned, because link does
not exist.
This unit has no successors!
the unit has no successors.
This unit has no predecessors!
the unit has no predecessors.
No more units in this network!
network has no further units.
LOAD/SAVE aborted. load/save was aborted, either by the user,
or by an error.
This is also the place of the command sequence display of the editor.
When the command is activated, a message about the execution of the
command is displayed. In most cases, however, only a blinking is
visible, because the commands are executed too fast.
- Status line
This line shows the current position of the mouse in a display, the
number of selected units, and the position of flags, set by the
editor.
If 'safe' appears next to the flag icon, the safety flag was set by
the user. In this case XGUI forces the user to confirm any delete
actions.
The next icon shows a small seleted unit. The corresponding number is
the number of currently selected units. This is important, because
there might be selected units not visible in the displays. The
selection of units affects only editor operations.
* Info Panel
The info panel displays all data of two units and the link between
them. The unit at the beginning of the link is called SOURCE, the
other TARGET. One may run sequentially through all connections or
sites of the TARGET unit with the arrow buttons and look at the
corresponding source units and vice versa.
This panel is also very important for editing, since some operations
refer to the displayed TARGET unit or (source->TARGET) link. A default
unit can also be created here, whose values (activation, bias,
IO-type, subnet number, layer numbers, activation function, and output
function) are copied into all selected units of the net.
The source unit of a link can also be specified in a 2D display by
pressing the middle mouse button, the target unit by releasing it. To
select a link between two units the user therefore presses the middle
mouse button on the source unit in a 2D display, moves the mouse to
the target unit while holding down the mouse button and releases it at
the target unit. Now the selected units and their link are displayed
in the info panel. If no link exists between two units selected in a
2D display, the TARGET is displayed with its first link, thereby
changing SOURCE.
In the following table the various fields are listed. The fields in
the line FUNC have the following meaning (from left to right): Name of
the activation function, name of the output function, name of the
f-type. The fields in the line LINK have the following meaning:
weight, site value, site function, name of the site.
Name | Type | set by | Range
----------------------------------------------------------------------
no. (unit no.) | label | | 1 .. 2^31
subn. (subnet no.) | label | | 1 .. 32735
io (IO type) | label | OPTIONS | I(nput), O(utput), H(idden),
| | | D(ual), S(pecial)
act. (activation) | text | input | float; usually -1.0..+1.0
iact. (initial act) | text | input | float; usually -1.0..+1.0
out. (Ausgabe) | text | input | float; usually -1.0..+1.0
bias | text | input | float
name | text | input | 25 letters or underscore
func (act_*) | label | OPTIONS | as available
func (out_*) | label | OPTIONS | as available
link (weight) | text | input | float
site (site value) | label | | float
func (site_*) | label | | as available
name (site name) | label | | as available at TARGET
----------------------------------------------------------------------
Unit number, unit subnet number, site value, and site function cannot
be modified.
Note: The specified SNNS value ranges must be obeyed. Values outside
the specified range are not rejected by the graphical user interface.
Numerical values of the type float have the following format: Sign,
one digit, decimal point, and five decimal digits. For bias and weight
two digits before the decimal point are critical. To change attributes
of type text, the cursor has to be exactly in the corresponding field.
There are the following buttons for the units (from left to right):
- [FIRST]: Select first TARGET of SOURCE (arrow button at
TARGET) or select first SOURCE of the TARGET
(arrow button at SOURCE).
- [NEXT]: Select next TARGET of SOURCE (arrow button at
TARGET) or select next SOURCE of the TARGET
(arrow button at SOURCE).
- [FREEZE]: Unit is frozen, if this button is inverted.
Changes become active only after SET is clicked.
- [DEF]: The default unit is assigned the displayed values of
TARGET and SOURCE assigned (only activation, bias,
IO-type, subnet number, layer numbers, activation
function and output function).
- [OPTIONS]: Calls the following menu:
change io-type | change the IO-type
change f-type | change f-type
change activation func. | change activation function
| note: f-type is lost!
display activation func.| graph the activation function
change output func. | change output function
| note: f-type is lost!
display output func. | graph the output function
assign layers | assign unit to layers
list all sources | list all predecessors
list all targets | list all predecessors
- [SET]: Only after clicking this button the attributes
of the corresponding unit are set to the specified
value. The unit is also redrawn. Therefore the values
can be changed without immediate effect on the unit.
There exist the following buttons for links (from left to right):
- [FIRST]: Select first site of the TARGET unit.
- [NEXT] : Select next site of the TARGET unit.
- [OPTIONS]: Calls the following menu:
list current site of TARGET | list of all links of the
| current site
list all sites of TARGET | list all sites of the TARGET
list all links from SOURCE | list all links starting
| at the SOURCE
delete site | delete displayed site
| note: f-type gets lost
add site | add new site to TARGET
| note: f-type gets lost!
- [SET]: Only after clicking this button the link weight is
set.
* 2D Displays
A 2D Display or simply Display is always part of the user interface.
It serves to display the network topology, the units' activations and
the weights of the links. Each unit is located on a grid position,
which simplifies the positioning of the units. The distance between
two grid points (grid width) can be changed from the default 37 pixels
to other values in the setup panel.
The current position, i.e. the grid position of the mouse, is also
numerically displayed at the bottom of the manager panel. The x-axis
is the horizontal line and valid coordinates lie in the range
-32736..+32735 (short integer).
The current version displays units as boxes, where the size of the box
is proportional to the value of the displayed attribute. Possible
attributes are activation, initial activation, bias, and output. A
black box represents a positive value, an empty box a negative value.
The size of the unit varies between 16x16 and 0 pixels according to
the value of scaleFactor. The parameter scaleFactor has a default
value of 1.0, but may be set to values between 0.0 and 2.0 in the
setup panel. Each unit can be displayed with its name (above the unit)
and the numerical value of one of several attributes (below the unit).
Links are shown as solid lines, with optional numerical display of the
weight in the center of the line and/or arrow head pointing to the
target unit. These features are optional, because they heavily affect
the drawing speed of the display window.
A display can also be frozen with the button FREEZE (button is
inverted). Then it is not updated anymore.
An iconified display is not updated and therefore consumes (almost) no
CPU time. If a window is closed, its dimensions and setup parameters
are saved in a stack (LIFO). This means that a newly requested display
gets the values of the window assigned that was last closed.
For better orientation, the window title contains the subnet number
which was specified for this display in the setup panel.
* Setup Panel
Changes to the kind of display of the network can be performed in the
Setup Panel. All settings become valid only after the button DONE is
clicked. The whole display window is redrawn then.
The first two lines of the Setup panel (units top and units bottom)
contain two buttons each to set the unit parameter that can be
displayed at the top resp. the bottom of the unit.
[ON] toggles the display of information which can be selected with the
button [SHOW]. The unit name or unit number or the z-value (3D
coordinate) can be displayed above the unit, the activation, initial
activation, bias or output of the unit below the unit. The numerical
attribute selected with the button [SHOW] at the bottom of the unit
(activation, initial activation, output, or bias) also determines the
size of the unit in the graphical representation.
It is usually not advisable to switch off the top information of a
unit (number or name), because this information is needed for
reference to the info panel. An unnamed unit is always displayed with
its number.
The third line consists of three buttons to select the display of link
data, [ON], [-2.35], and [-->].
[ON] determines whether to draw links at all (then
ON is inverted),
[-2.35] displays link weights at the center of the
line representing the link,
[-->] displays arrow heads of the links pointing
from source to target unit.
[LAYERS] invokes another popup window to select the display of up to 8
different layers in the display window. Layers are be stacked like
transparent sheets of paper and allow for a selective display of units
and links. These layers need NOT correspond with layers of units of
the network topology (as in multilayer feed-forward networks), but
they may do so. Layers are very useful to display only a selected
subset of the network. The display of each layer can be switched on or
off independently. A unit may belong to several layers at the same
time. The assignment of units to layers can be done with the menu
assign layers invoked with the button [OPTIONS] in the main Info
panel.
[COLOR] sets the 2D--display colors. On monochrome terminals, black on
white or white on black representation of the network can be selected
from a popup menu. On color displays, a color editing window is
opened. This window consists of three parts:
The palette of available colors at the top, the buttons to select the
item to be colored in the lower left region, and the color preview
window in the lower right region.
A color is set by clicking first at the appropriate button ( [TEXT],
[BACKGROUND] , or [SELECTION] ) and then at the desired color in the
color palette. The selected setting is immediately displayed in the
color preview window. All colors may be set in any order and any
number of times. The changes become effective in the corresponding
2D--display only after both the setup panel and the color edit panel
have been dismissed with the [DONE] button.
Sliders for the selection of link display parameters, links positive
and links negative:
There are two slidebars to set thresholds for the display of links.
When the bubble is moved, the current threshold is displayed in
absolute and relative value at the bottom of the setup panel. Only
those links with an absolute value above the threshold are displayed
in the display. The range of the absolute values is 0.0 to 10.0. A
value of 2.2 for negative links means that only those negative links
are displayed whose absolute value is above 2.2, i.e. only those
links, whose value is below -2.2. The trigger values can be set
independently for positive and negative weights.
With these link thresholds the user can skip weak connections and
concentrate on the 'important' ones. Reducing the number of links
drawn is an effective means to speed up the drawing of the displays,
since line drawing takes most of the time to display a network.
Note: The links that are not drawn are only invisible. They still
remain accessible, i.e. they are affected by editor operations.
Units scale: This slidebar sets the parameter scaleFactor for the size
of the growing boxes of the units. Its range is 0.0 to 2.0. A scale
factor of 0.5 draws the unit with activation 0.5 with full size. A
scale factor of 2.0 draws a unit with activation 1.0 only with half
size. If a color display is used the value which determines the units
size or color is displayed with the following colors:
values around 0.0 blue
values around scaleFactor red
values around - scaleFactor green
Grid width: This value sets the width of the grid on which the units
are placed. For some nets, changing the default of 37 pixels may be
useful, e.g. to be able to better position the units in a geometrical
pattern. Overlapping tops and bottoms occur if a grid size of less
than 35 pixels is selected (26 pixels if units are displayed without
numerical values). This overlap, however, does not affect computation
in any way.
Origin (grid): These two fields determine the origin of the window,
i.e. the grid position of the top left corner. There, the left field
represents the x coordinate, the right is the y coordinate. The origin
is usually (0, 0). Setting it to (20, 0) moves the display 20 units to
the right and 10 units down in the grid.
subnet number: This field adjusts the subnet number, to be displayed
in this window. Values between -32736 and +32735 are possible here.
* Unit Function Displays
The characteristic functions of the units can be displayed in a
graphic representation. For this purpose separate displays have been
created, that can be called by selecting the options [display
activation function] or [display output function] in the menu under
the options button of the target and source unit in the info panel.
The window header states whether it is an activation or an output
function, as well as whether it is the current function of the source
or target unit.
The size of the window is as flexible as the picture range of the
displayed function. The picture range can be changed by using the
dialog widgets at the top of the function displays. The size of the
window may be changed by using the standard mechanisms of your window
manager.
If the displayed function changes, e.g. because a new activation
function has been defined for the unit, the display window changes
automatically to reflect the new situation. Thereby it is easy to get
a quick overview of the available functions by opening the function
displays and then clicking through the list of available functions
(This list can be obtained by selecting [select activation function]
or [select output function] in the unit menu).
* File Browser
The file browser handles all load and save operations of networks,
patterns, configurations, and the contents of the text window.
Configurations include number, location and dimension of the displays
as well as their setup values and the name of the layers.
In the top line, the path (without trailing slash) where the files are
located is entered. This can be done either manually, or by
double--clicking on the list of files and directories in the box on
the left. A double click to [..] deletes the last part of the path,
and a double click to a subdirectory appends that directory to the
path. In the input field below the path field, the name for the
desired file (without extension) is entered. Again, this can be done
either manually, or by double--clicking on the list of files in the
box on the left. Whether a pattern file, network file, or other file
is loaded/saved depends on the settings of the corresponding buttons
below. With the setting of picture~ FigFilePanel a network file would
be selected. A file name beginning with a slash (/) is taken to be an
absolute path.
Note: The extension ".net" for nets, ".pat" for patterns, ".cfg" for
configurations, and ".txt" for texts is added automatically and must
not be specified. After the name is specified the desired operation is
selected by clicking either [LOAD] or [SAVE] .
NOTE: In version 3.0 the directories must be executable in order to be
processed properly by the program!
* Loading and Saving Networks
If the user wants to load a network which is to replace the net in
main memory, the confirmer appears with the remark that the current
network would be erased upon loading. Only if the question Load? is
answerd by a click to the [YES] button, the new network is loaded. The
file name of the network loaded last appears in the window title of
the manager panel.
Note 1: Upon saving the net the kernel compacts its internal data
structures, if the unit numbers are not numbered consecutively. This
happens if units are deleted during the creation of the network. All
earlier listings with unit numbers then become invalid. The user is
therefore advised to save and reload the network after creation,
before continuing the work.
Note 2: The assignment of patterns to input or output units may be
changed after a network save, if an input or output unit is deleted
and is inserted again. This is caused because the activation values in
the pattern file are assigned to units in ascending order of the unit
number. Compaction during a network save leaves the order unchanged.
In the above case, however, this order is no longer the same because
the new input or output units may have been assigned higher unit
numbers than the existing input or output units. So some components of
the patterns may be assigned incorrectly. To be on the safe side, one
should always save and reload the network after modifications to the
network topology.
* Loading and Saving Patterns
Patterns are special combinations of activated input or output units.
Pattern files, like nets, are administrated by the SNNS kernel. During
loading the kernel checks whether the number of input and output units
is the same as in the network in memory. If this is not the case, the
operation is aborted. The filename of the pattern loaded last appears
in the window title of the remote panel.
Note: The activation values are read and assigned to the input and
output units sequentially in ascending order of the unit numbers (see
above).
* Loading and Saving Configurations
A configuration contains the location and extension of all displays
with all setup parameters and the names of the various layers. This
information can be loaded and saved separately, since it is indepen-
dent from the networks. Thereby it is possible to define one
configuration for several networks, as well as several configurations
for the same net. When XGUI is started, the file default.cfg is loaded
automatically.
* Saving a Result file
A result file contains the activations of all output units. These
activations are obtained by performing one pass of forward
propagation. After pressing the [SAVE] button a popup window lets the
user select which patterns are to be tested and which patterns are to
be saved in addition to the test output. Since the result file has no
meaning for the loaded network a load operation is not useful and
therefore not supported.
* Defining the Log File
In the log file messages to stdout can be stored which dokument the
simulation run. The protocol contains file operations, definitions of
values set by clicking the [SET] button in the info panel, as well as
a teaching protocol (cycles, parameters, errors). In addition, the
user can output data about the network to the log file with the help
of the info panel. If no log file is loaded, output takes place only
on stdout. If no file name is specified when clicking [LOAD], a
possibly open log file is closed and further output is restricted to
stdout.
* Help Windows
An arbitrary number of help windows may be opened, each displaying a
different part of the text. For a display of context sensitive help
about the editor commands, the mouse must be in a display and the key
[h] must be pressed on the keyboard. Then the last open help window
appears with a short description.
A special feature is the possibility of searching a given string in
the help text. For this, the search string is selected in the text
window (e.g. by a double click).
[LOOK] After clicking this button, SNNS searches for the first
appearance of the marked string, starting at the beginning of
the help document. If the string is found, the corresponding
paragraph is displayed.
[MORE] After clicking this button, SNNS searches for the first
appearance of the marked string, starting at the position last
visited by a call to the help function. If the text was
scrolled afterwards, this position might not be on the display
anymore.
Note: All help calls look for the the first appearance of a certain
string. These strings start with the sequence ASTERISK-BLANK ('* '),
to assure the discovery of the appropriate text position. With this
knowledge it is easy to modify the file help.hdoc to adapt it to
special demands, like storing information about unit types or
patterns. The best approach is to list all relevant keywords at the
end of the file under the headline 'TOPICS' (preceded with a '* '), so
that the user can select this directory by a click to TOPICS.
* Print Panel
The print panel handels the Postscript output. A 2D-display can be
associated with the printer. All setup options and values of this
display will be printed. Color and encapsulated Postscript are also
supported. The output device is either a printer or a file. If the
output device is a printer, a '.ps'-file is generated and spooled in
the /tmp directory. It has a unique name starting with the prefix
`snns'. The directory must be writable. When xgui terminates normally,
all SNNS spool files are deleted.
The following fields can be set in the Printer Panel:
- File Name resp. Command Line :
If the output device is a file: the filename.
If the output device is a printer: the command line to start the
printer. The filename in the command line has to be ' 1'.
- Destination : Selects the output device.
Toggles the above input line between File Name and Command Line.
- Paper : Selects the paper format.
- Orientation : Sets the orientation of the display on the paper. Can
be 'portrait' or 'landscape'.
- Border (mm) : Sets the size of the horizontal and vertical borders
on the sheet in millimeters.
- AutoScale : Scales the network to the maximum possible size on the
paper if turned on.
- Aspect : If on, scaling in X and Y direction is done uniformly.
- X-Scale : Scale factor in X direction. Valid only if AutoScale is
'OFF'.
- Y-Scale : Scale factor in Y direction. Valid only if AutoScale is
'OFF'.
[DONE] : Cancels the printing and closes the panel.
[PRINT] : Starts printing.
[NETWORK] : Opens the network setup panel. This panel allows the
specification of several options to control the way the network is
printed.
* Remote Panel
With this window the simulator is operated as with a remote control.
The following table lists all window elements. The meaning of the 5
learning parameters depends upon the teaching function selected with
the menu select learning function invoked by the button [OPTIONS] of
the remote panel.
Name | Type | Range
----------------------------------------------------------------------
STEPS (update-Steps) | text | 0 <= n
CYCLES | text | 0 <= n
PATTERN | text | 0 <= n (0 => no patterns)
LEARN (5 param.: eta, ...) | text | float; usually 0.0<= eta <=1.0
UPDATE (5 parameters) | text | float
----------------------------------------------------------------------
There are the following text fields, buttons and menu buttons:
STEPS This text field specifies the number of update steps of the
network. With Topological selected as update mode (chosen with
the menu select update function from the button OPTIONS in the
remote panel) one step is sufficient to propagate information
from input to output. With other update modes or with
recursive networks, several steps might be needed.
[STEP] After clicking this button, the simulator kernel executes the
number of steps specified in the text field STEPS. If STEPS is
zero, the units are only redrawn. The update mode selected
with the button MODE is used. The first update step in the
mode topological takes longer than the following, because the
net is sorted topologically first. Then all units are redrawn.
[INFO] Information about the net is written to text window.
[INIT] A popup window to set parameters to initialize the network is
called.
[RESET] The counter is reset and the units are
assigned their initial activation.
The text field after RESET displays the z coordinate of the
units in a 3D Display.
CYCLES This text field specifies the number of learning cycles. It is
mainly used in conjunction with the next two buttons. A cycle
(also called an epoch sometimes) is a unit of training where all
patterns of a pattern file are presented to the network once.
[SINGLE] The net is trained with a single pattern for a number of
training cycles defined in the field CYCLES. The text window
reports the error of the network every 1/10 th CYCLES, i.e.
independent of the number of training cycles only 10
numbers are generated. (This prevents flooding the user with
useless network performance data and slowing down the training
by file I/O).
The error reported in the text window is the sum of the
quadratic distances between the teaching input and the real
output over all output units. The average error per output
unit is given behind 'ave'.
[ALL] The net is trained with all patterns for a number of training
cycles specified in the field CYCLES. This is the usual way to
train networks with the graphical user interface. Note that if
cycles has a value of, say, 100, the button ALL causes SNNS to
train all patterns once (one cycle) and repeat this cycle 100
times (NOT training each pattern 100 times in a row and then
applying the next pattern).
The error reported in the text window is the sum of the
quadratic distances between the teaching input and the real
output over all output units. The average error per output
unit is given behind 'ave'.
[STOP] After completion of the current step or teaching cycle, the
simulation is halted immediately.
[TEST] With this button, the user can test the behaviour of the net
with all patterns loaded. The activation values of input and
output units are copied into the net. (For output units see also
button SHOW). Then the number of update steps specified in
STEPS are executed.
[SHUFFLE] It is important for optimal learning that the various
patterns are presented in different order in the different
cycles. A random sequence of patterns is created
automatically, if SHUFFLE is switched on.
[OPTIONS] Offers the following menu:
select update function select update function
select learning function select learning function
select init function select initialization function
jog weights change all link weights by a small
random value
edit f-types edit/create f-types
edit sites edit/create sites
delete all patterns delete all patterns in main memory
clear SNNS delete net and patterns in main memory
If jog weights is selected, a popup window appears to specify
the range (low limit .. high limit). This operation always
affects all links in the network.
The menu item 'select learning function' invokes a menu to
select a learning function (learning procedure). The following
learning functions are currently implemented:
ART1 ART1 learning algorithm
ART2 ART2 learning algorithm
ARTMAP ARTMAP learning algorithm
(all ART models by Carpenter Grossberg)
Backpropagation ``vanilla'' Backpropagation
BackpropBatch Backpropagation for batch training
BackpropMomentum Backpropagation with momentum term
BackpropBatchThroughTime Batch-Backpropagation for recurrent networks
BackpropThroughTime Backpropagation for recurrent networks
Backpercolation Backpercolation 1 (Perc)after Mark Jurik
Cascade Correlation Cascade correlation meta algorithm
Counterpropagation Counterpropagation after Robert Hecht-Nielsen,
Quickprop Quickprop after Scott Fahlman, CMU
QuickpropThroughTime Quickprop for recurrent networks
RadialBasisLearning Learning with Radial Basis Functions
Rec. Cascade Correlation Cascade correlation for recurrent networks
RProp Resilient--Propagation learning
TimeDelayBackprop Backpropagation for time delay networks
PATTERN This text field displays the current pattern number.
[DELETE] The pattern whose number is displayed in the text field
PATTERN is deleted from the pattern file.
[MOD] The pattern whose number is displayed in the text field
PATTERN is modified in place.
The current activation of the input units and the current output
values of output units of the network loaded make up the input and
output pattern. These values may have been set with the network editor
and the Info panel before.
[NEW] A new pattern is defined that is added behind existing
patterns. Input and output values are defined as above.
[GOTO] The simulator advances to the pattern whose number is
displayed in the text field PATTERN.
[|<], [<], [>], [>|]
With these buttons, the user can navigate through all patterns
loaded, as well as jump directly to the first and last
pattern. Unlike with the button TEST no update steps are
performed here.
[SHOW] With this button, the user specifies the changes to the
activation values of the output units when a pattern is
applied with TEST. The following table gives the three
alternatives:
None The output units remain unchanged.
Output The output values are computed and set,
activations remain unchanged.
Activation The activation values are set.
[LEARN] The five parameters of the learning functions vary depending
on the learning functions used. For the learning functions
that are already built in into SNNS, they are given below.
Std_Backpropagation ('vanilla' Backpropagation), BackpropBatch
and TimeDelaybackprop
1) eta, learning parameter, specifies the step width of
the gradient descent.
Typical values of eta are 0.1 to 1.0. Some small
examples actually train even faster with values above
1, like 2.0.
2) d_max, the maximum difference between a teaching value and
an output of an output unit which is tolerated,
i.e. which is propagated back as 0.
If values above 0.9 should be regarded as 1 and values
below 0.1 as 0, then d_max should be set to 0.1.
This prevents overtraining of the network.
Typical values of d_max are 0, 0.1 or 0.2.
BackpropMomentum (Backpropagation with momentum term and
flat spot elimination):
1) eta, learning parameter, specifies the step width of
the gradient descent.
Typical values of eta are 0.1 to 1.0. Some small
examples actually train even faster with values above
1, like 2.0.
2) mu, momentum term, specifies the amount of the old weight
change (relative to 1) which is added to the current
change.
Typical values of mu are 0 to 1.0.
3) c, flat spot elimination value, a constant value
which is added to the derivative of the activation
function to enable the network to pass flat spots of
the error surface.
Typical values of c are 0..0.25, most often 0.1 is
used.
4) d_max, the maximum difference between a teaching value and
an output of an output unit which is tolerated,
i.e. which is propagated back as 0.
Typical values of d_max are 0, 0.1 or 0.2.
BackpropThroughTime
1) eta, learning parameter, specifies the step width of
the gradient descent.
Typical values of eta are 0.005 to 0.1
2) mu, momentum term, specifies the amount of the old weight
change (relative to 1) which is added to the current
change.
Typical values of mu are 0 to 1.0.
3) backstep, the number of backprop steps back in time.
BPTT stores a sequence of all unit activations while
input patterns are applied. The activations are stored
in a first-in-first-out queue for each unit.
Quickprop, QuickpropThroughTime
1) eta, learning parameter, specifies the step width of the
gradient descent.
Typical values of eta for Quickprop are 0.1 to 0.3, for
QPTT 0.005 to 0.1.
2) mu, maximum growth parameter, specifies the maximum amount
of weight change (relative to 1) which is added to the
current change
Typical values of mu are 1.75 to 2.25 for QP and 1.2 to
1.75 for QPTT.
3) nu, weight decay term to shrink the weights.
Typical values of nu are 0.0001. Quickprop is rather
sensitive to this parameter. It should not be set too
large.
4) d_max, the maximum difference between a teaching value and
an output of an output unit which is tolerated,
i.e. which is propagated back as 0.
Typical values of d_max are 0, 0.1 or 0.2.
Counterpropagation
1) alpha, learning parameter of the Kohonen layer.
Typical values of alpha for Counterpropagation are 0.1
to 0.7.
2) beta, learning parameter of the Grossberg layer.
Typical values of beta are 0 to 1.0.
3) theta, threshold of a unit
We often use a value theta of 0.
Backpercolation 1 (see the footnote about Backpercolation 1 in
the introduction of the user manual)
1) lambda, global error magnification. This is the factor in
the formula epsilon = lambda * (t - o), where epsilon
is the internal activation error of a unit, t is the
teaching input and o the output of a unit
Typical values of lambda are 1. Bigger values (up to 10)
may also be used here.
2) theta, if the error value drops below this threshold value,
the adaption according to the Backperc algorithm begins.
3) d_max, the maximum difference between a teaching value and
an output of an output unit which is tolerated,
i.e. which is propagated back as 0.
Typical values of d_max are 0, 0.1 or 0.2.
RadialBasisLearning
1) centers, determines the learning rate used for the modification
of center vectors.
2) bias, determines the learning rate, used for the modification
of the parameters of the base function. It is stored as
bias of the hidden units.
3) weights, influences the training of all link weights that are
leading to the output layer as well as the training of
the bias of all output neurons.
4) delta_max, if the actual error is smaller than the maximum
allowed error (delta_max) the corresponding weights are
not changed.
5) momentum, influences the amount of the momentum--term during
training.
ART1
1) p, vigilance parameter. If the quotient of active F1 units
divided by the number of active F0 units is below p, an
ART reset is performed.
ART2
1) p, vigilance parameter. Specifies the minimal length of the
error vector r.
2) a, strength of the influence of the lower level in F1 by
the middle level.
3) b, strength of the influence of the middle level in F2 by
the upper level.
4) c, Part of the length of vector p used to compute the error.
5) theta, threshold for output function f of units xi and qi
ARTMAP
1) pa, vigilance parameter for ARTa subnet.
2) pb, vigilance parameter for ARTb subnet.
3) p, vigilance parameter for ART reset control.
RPROP
1) delta0, starting values for all deltas. Default value is 0.1.
2) delta_max, the upper limit for the update values delta. The
default value is 50.0.
[UPDATE] The five parameters of the update functions vary depending on
the network model used. They are not used in the learning
functions distributed in this release of SNNS. They have been
used in other network models which we implemented, but
currently do not distribute.
* Weight Display
The weight display window is a separate window specialized for
displaying the weights of a network. It is called from the manager
panel in the gui menu with the entry [weights] . On black-and-white
screens the weights are represented as squares with changing size in a
Hinton diagram, while on color screens, fixed size squares with
changing colors are used (WV-diagrams).
On small networks, all connections are displayed at the same time.
With larg nets the display changes to a viewport, where only a small
portion of the net is visible and the user is able to move around with
scrollbars.
In a Hinton diagram, the size of a square corresponds to the absolute
size of the correlated link. A filled square represents negative, an
empty square positive links. The maximum size of the squares is
computed automatically, to allow an optimal use of the display.
In a WV diagram color is used to code the value of a link. Here, a
bright red is used for large negative values and a bright green is
used for positive values. Intermediate numbers have a lighter color
and the value zero is represented by white. The user also has got the
possibility to retrieve the numerical value of the link by clicking
any mouse button while the mouse pointer is on the square. A popup
window then gives source and target unit of the current link as well
as its weight.
For a better overall orientation the numbers of the units are printed
all around the display and a grid with user definable size is used. In
this numbering the units on top of the screen represent source units,
while numbers to the left and right represent target units.
* Graph Window
Graph is a tool to visualize the error developement of a net. The
program is started by clicking the menu item [graph] in the pulldown
menu under the [GUI] button of the info panel.
Graph is only active after calling it. This means, the development of
the error is only drawn as long as the window is not closed. The
advantage of this implementation is, that the simulator is not slowed
down as long as graph is closed The loss of power by graph should be
minimal. If the window is iconified, graph remains active.
The error curve of the net is plotted until the net is initialized or
a new net is loaded, in which case the cycle counter is reset to zero.
The window, however, is not cleared until the clear button is pressed.
This opens the possibility to compare several error curves in a single
display. The maximum number of curves, which can be displayed
simultaneously is 25. If a 26th curve is tried to be drawn, the
confirmer appears with an error message.
When the curve reaches the right end of the window, an automatic
rescale of the x-axis is performed. This way, the whole curve always
remains visible.
In the top region of the graph window, six buttons for handling the
display are located:
[CLEAR] Clears the screen of the graph window and sets the cycle
counter to zero.
[DONE] Closes the graph window and resets the cycle counter.
[>] Reduce scale in one direction.
[<] Enlarge scale in one direction.
While the simulator is working all buttons are blocked. The graph
window can be resized by the mouse like every X-window. Changing the
size of the window does not change the size of the scale.
* Creating and Editing F-types and Sites
The change of the f-type is performed on all units of that type.
Therefore the functionality of all units assigned to a f-type can
easily be changed. The elements in the panel have the following
meaning:
[SELECT] Selects of the activation and output function
[CHOOSE] Chooses the f-type to be changed
[SET] Makes the settings/changes permanent. Changes in
the site list are not set (see below)
[NEW], [DELETE] Creates or deletes an f-type
[ADD], [DELETE] F-types also specify the sites of a unit. Therefore
these two buttons are necessary to add/delete a site
in the site list.
Note: The number and the selection of sites can not be changed after
the creation of an f-type.
The elements in the edit panel for sites are almost identical. A site
is selected for change by clicking at it in the site list.
[SELECT] Selects the new site function. The change is
performed in all sites in the net with the same name.
[SET] Validates changes/settings
[NEW] Creates a new site
[DELETE] Deletes the site marked in the site list
* Keyboard
* Graphical Network Editor
The graphical user interface of SNNS has a network editor built in.
With the network editor it is possible to generate a new network or to
modify an existing network in various ways. There also exist commands
to change the display style of the network.
As an introduction operations on networks without sites will be
discussed first, since they are easier to learn and understand.
Operations that have a restricted or slightly different meaning for
networks with sites are displayed with the extension (Sites!) in the
following overview.
As usual with most applications of X-Windows, the mouse must be in the
window in which an input is to appear. This means that the mouse must
be in the display window for editor operations to occur. If the mouse
is moved in a display, the status indicator of the manager panel
changes each time a new raster postion in the display is reached.
Different displays of a network can be seen as different views of the
same object. This means that all commands in one display may affect
objects (units, links) in the other displays. Objects are moved or
copied in a second display window in the same way as they are moved or
copied in the first display window.
The editor operations are usually invoked by a sequence of 2 to 4 keys
on the keyboard. They only take place when the last key of the command
(e.g. deletion of units) is pressed. We found out that for some of us
the fastest way to work with the editor was to move the mouse with one
hand and to type on the keyboard with the other hand. Keyboard actions
and mouse movement may occur at the same time, the mouse position is
only relevant when the last key of the sequence is pressed.
The keys that are sufficient to invoke a part of a command are written
in capital letters in the commands. The message line in the manager
panel indicates the completed parts of the command sequence. Invalid
keys are ignored by the editor.
As an example, if one presses the following keys U (for Units) and C
(for Copy) the status line changes as follows:
Status line Command Comments
----------------------------------------------------------------------
> Units operation on units
Units> Copy copying of units
Units Copy> (the sequence is not completed yet)
To the left of the caret the fully expanded input sequence is
displayed. At this place also a message is displayed when a command
sequence is accepted and the corresponding operation is called. This
serves as feedback, especially if the operation takes some time. If
the operation completes quickly, only a short flicker of the text
displayed can be seen. Some error messages appear in the confirmer,
others in the message line.
* Mode
* Editor Modes
To work faster, three editor modes have been introduced which render
the first key unnecessary. In normal mode all sequences are possible,
in unit mode all sequences that deal with units (that start with U),
and in link mode all command sequences that refer to links (i.e. start
with L).
Status line Command Comments
-------------------------------------------------------------------------
Units Copy> Quit the input command may be cancelled any time
> Mode
Mode> Units enter unit mode
Units> Copy copying
Units Copy> Quit cancel again
Units> Quit leaves the current mode unchanged
Units> Copy copying
Units Copy> Return return to normal mode
>
The mode command is useful, if several unit or link commands are given
in sequence. Return cancels a command, like Quit does, but also
returns to normal mode.
* Selection
* Selection of Units
Units are selected by clicking on the unit with the left mouse button.
Selected units are shown with crosses. By pressing and holding the
mouse button down and moving the mouse, all units within a rectangular
area can be selected, like in a number of popular drawing programs. It
is not significant in what direction the rectangle is opened.
To remove a unit or group of units from a selection, one presses the
SHIFT key on the keyboard while selecting the unit or group of units
again. This undoes the previous selection for the specified unit or
group of units. Alternatively, a single unit can be deselected with
the right mouse button.
If the whole selection should be reset, one clicks in an empty raster
position. The number of selected units is displayed ath the bottom of
the manager panel next to a stylised selection icon.
Example (setting activations of a group of units): The activations of
a group of units can be set to a specific value as follows: Enter the
value in the activation value field of the target unit in the info
panel. Select all units that should obtain the new value. Then enter
the command to set the activation (Units Set Activation).
* Selection of Links
Since it is often very hard to select a single link with the mouse in
a dense web of links, in this simulator all selections of links are
done with the reference to units. That is, links are selected via
their source and target units. To select a link or a number of links,
first a unit or a group units must be selected in the usual way with
the left mouse button (indicated by crosses through the units). Then
the mouse pointer is moved to another unit. All links between the
selected set of units and the unit under the mouse pointer during the
last key stroke of the link command are then selected.
Example (deleting a group of links): All links from one unit to
several other units are deleted as follows: First select all target
units, then point to the source unit with the mouse. Now the command
Links Delete from Source unit deletes all the specified links.
As can be seen from the examples, for many operations three types of
information are relevant: first a group of selected units, second the
position of the mouse and the unit associated with this position and
third some attributes of this unit which are displayed in the info
panel. Therefore it is good practise to keep the info panel visible
all the time.
* Mouse
* Use of the Mouse
Besides the usual use of the mouse to control the elements of a
graphical user interface (buttons, scroll bars etc.) the mouse is
heavily used in the network editor. Many important functions like
selection of units and links need the use of the mouse. The mouse
buttons of the standard 3 button mouse are used in the following way
within a graphic window:
* left mouse button
Selects a unit. If the mouse is moved with the button pressed down, a
group of units in a rectangular area is selected. If the SHIFT key is
pressed at the same time, the units are deselected. The direction of
movement with the mouse to open the rectangular area is not
significant, i.e. one can open the rectangle from bottom right to top
left, if convenient.
If the left mouse button is pressed together with the CONTROL key, a
menu appears with all alternatives to complete the current comand
sequence. The menu items that display a trailing ':' indicate that the
mouse position of the last command of a command sequence is important.
The letter 'T' indicates that the target unit in the info panel plays
a role. A '~' denotes that the command sequence is not yet completed.
* right mouse button
Undo of a selection. Klicking on a selected unit with the right mouse
button only deselects this unit. Klicking on an empty raster position
resets the whole selection.
* middle mouse button
Selects the source unit (on pressing the button down) and the target
unit (on releasing the button) and displays them both in the info
panel. If there is no connection between the two units, the target
unit is displayed with its first source unit. If the button is pressed
on a source unit and released over an empty target position, the link
between the source and the current (last) target is displayed. If
there is no such link the display remains unchanged. Conversely, if
the button is pressed on an empty source position and released on an
existing target unit, the link between the current (last) source unit
and the selected target unit is displayed, if one exists. This is a
convenient way to inspect links.
In order to indicate the position of the mouse even with a small
raster size, there is always a sensitive area of at least 16x16 pixels
wide.
* Keyboard
* Short Command Reference
The following section briefly describes the commands of the network
editor. Capital letters denote the keys that must be hit to invoke the
command in a command sequence.
The following commands are possible within any command sequence:
Quit quit a command
<Return> quit a command and return to normal mode
Help get help information. A help window pops up
As already mentioned, some operations have a different meaning if
there exist units with sites in a network. These operations are
indicated with the suffix (sites). Commands that manipulate sites are
also included in this overview. They start with the first command
'Sites'.
Flags Safety
sets/resets safety flag (a flag to prompt the user before
units or links are deleted; additional question, if units with
different subnet numbers are selected.)
* Links
Links Set
sets all links between the selected units to the weight
displayed in the info panel (independent of sites)
* Links Make
Links Make ...
creates or modifies connections
Links Make Clique
connects every selected unit with every other selected unit,
plus itself (Sites!)
Links Make to Target unit
creates links from all selected source units to a single
target unit (under the mouse pointer) (Sites!)
Links Make from Source unit
creates links from a single source unit (under the mouse
pointer) to all selected target units (Sites!)
Links Make Double
doubles all links between the selected units, i.e. generates
two links (from source to target and from target to source)
from each single link) (Sites!)
Links Make Inverse
changes the direction of all links between the selected units
(Sites!)
* Links Delete
Links Delete Clique
deletes all links between all selected units (Sites!)
Links Delete to Target unit
deletes all ingoing links from a selected group of units to a
single target unit (under the mouse pointer) (Sites!)
Links Delete from Source unit
deletes all outgoing links from a single source unit (under
the mouse pointer) to a selected group of units (Sites!)
* Links Copy
Links Copy Input
copies all input links leading into the selected group of
units as new input links to the target unit (under the mouse
pointer) (Sites!)
Links Copy Output
copies all output links starting from the selected group of
units as new output links of the source unit (under the mouse
pointer) (Sites!).
Links Copy Environment
copies all links between the selected units and the TARGET
unit to the actual unit, if there exist units with the same
relative distance (Sites!)
* Sites
Sites Add
add a site to all selected units
Sites Delete
delete a site from all selected units
* Sites Copy
Sites Copy with No links
copies the current site of the Target unit to all selected
units. Links are not copied
Sites Copy with All links
ditto, but with all links
* Units
Units Freeze
freeze all selected units
Units Unfreeze
reset freeze for all selected units
* Units Set
Units Set Name
sets name to the name of TARGET
Units Set io-Type
sets bias to the bias of TARGET
Units Set Activation
sets activation to the activation of TARGET
Units Set Initial activation
sets initial activation to the initial activation of TARGET
Units Set Output
sets output to the output of TARGET
Units Set Bias
sets bias to the bias of TARGET
* Units Set Function
Units Set Function Activation
sets activation function.
Note: all selected units loose their default type (f-type)
Units Set Function Output
sets output function
Note: all selected units loose their default type (f-type)
Units Set Function Ftype
sets default type (f-type)
* Units Insert
Units Insert Default:
inserts a unit with default values. The unit has no link
Units Insert Target
inserts a unit with the same values as the Target unit. The
unit has no links
Units Insert Ftype
inserts a unit of a certain default type (f-type) which is
determined in a popup window
* Units Delete
Units Delete
all selected units are deleted.
* Units Move
Units Move
all selected units are moved. The mouse determines the
destination position of the Target unit (info panel). The
selected units and their position after the move are shown as
outlines.
* Units Copy
Units Copy ...
copies all selected units to a new position. The mouse
position determines the destination position of the Target
unit (info panel).
Units Copy All
copies all selected units with all links
Units Copy Input
copies all selected units with their input links
Units Copy Output
copies all selected units and their output links
Units Copy None
copies all selected units, but no links
* Units Copy Structure
Units Copy Structure ...
copies all selected units and the link structure between these
units, i.e. a whole subnet is copied
Units Copy Structure All
copies all selected units, all links between them, and all
input and output links to and from these units
Units Copy Structure Input
copies all selected units, all links between them, and all
input links to these units
Units Copy Structure Output
copies all selected units, all links between them, and all
output links from these units
Units Copy Structure None
copies all selected units and all links between them
Units Copy Structure Back binding
copies all selected units and all links between them and
inserts additional links from the new to the corresponding
original units (Sites!)
Units Copy Structure Forward binding
copies all selected units and all links between them and
inserts additional links from the original to the
corresponding new units (Sites!)
Units Copy Structure Double binding
ditto, but inserts additional links from the original to the
new units and vice versa (Sites!)
* Mode
Mode Units
unit mode, shortens command sequence if one wants to work with
unit commands only. All subsequences after the Units command
are valid then
Mode Links
analogous to Mode Units, but for link commands
* Graphics
Graphics All
redraws the local window
Graphics Complete
redraws all windows
Graphics Direction
draws all links from and to a unit with arrows in the local
window
Graphics Links
redraws all links in the local window
Graphics Move
moves the origin of the local window such that the Target unit
is displayed at the position of the mouse pointer
Graphics Origin
moves the origin of the local window to the position indicated
Graphics Grid
displays a graphic grid at the raster positions in the local
window
Graphics Units
redraws all units in the local window
* Editor Commands
We now describe the editor commands in more detail. The description
has the following form that is shown in two examples:
Links Make Clique (selection LINK : site-popup)
First comes the command sequence 'Links Make Clique' which is invoked
by pressing the keys L, M, and C in this order. The items in
parentheses indicate that the command depends on the objects of a
previous selection of a group of units with the mouse (selection),
that it depends on the value of the LINK field in the info panel, and
that a site-popup appears if there are sites defined in the network.
The options are given in their temporal order, the colon ':' stands
for the moment when the last character of the command sequence is
pressed, i.e. the selection and the input of the value must precede
the last key of the command sequence.
Units Set Activation (selection TARGET :)
The command sequence 'Units Set Activation' is invoked by pressing the
keys U, S, A, in that order. The items in parentheses indicate that
the command depends on the selection of a group of units with the
mouse (selection) which it depends on the value of the TARGET field
and that these two things must be done before the last key of the
command sequence is pressed.
The following table displays the meaning of the symbols in parantheses:
selection all selected units
: now the last key of a command sequence is pressed
[unit] the raster cursor is placed on a unit
[empty] the raster cursor is placed on an empty positon
default the default values are used
TARGET the TARGET unit field in the info panel must be set
LINK the LINK field in the info panel must be set
site-links only links to the current site in the info panel
play a role
site the current site in the info panel must be set
popup a popup menu appears to ask for a value
(site-popup) if there are sites defined in the network, a popup
appears to choose the site for the operation
dest? a raster position for a destination must be clicked
with the mouse (e.g. in Units Move)
In the case of a site-popup a site for the operation can be chosen
from this popup window. However, if one clicks the DONE button
immediately after, only the direct input without sites is chosen. In
the following description this direct input should be regarded as a
special case of a site.
All newly generated units are assigned to all active layers in the
display in which the command for their creation was issued.
The following keys are always possible within a command sequence:
Q>uit quit a command
R>eturn quit and return to normal mode
H>elp get help information to the commands
A detailed description of the commands follows:
* Flags Safety (:)
If the SAFETY flag is set, then with every operation which deletes
units, sites or links (Units Delete or Links Delete) a confirmer asks
if the units, sites or links should really be deleted. If the flag is
set, this is shown in the manager panel with a safe after the little
flag icon. If the flag is not set, units, sites or links are deleted
immediately. There is no undo operation for these deletions.
* Links Set (selection LINK :)
All link weights between the selected units are set to the value of
the LINK field in the info panel.
* Links Make Clique (selection LINK : (site-popup))
A full connection between all selected units is generated. Since links
may be deleted selectively afterwards, this function is useful in many
cases where many links in both directions are to be generated. If a
site is selected, a complete connection is only possible if all units
have a site with the same name.
* Links Make from Source unit (selection [unit] : (site-popup))
* Links Make to Target unit (selection [unit] : (site-popup))
Both operations connect all selected units with a single unit under
the mouse pointer. In the first case, this unit is the source, in the
second, it is the target. All links get the value of the LINK field in
the info panel. If sites are used, only links to the selected site
are generated.
* Links Make Double (selection :)
All unidirectional links become double (bidirectional) links. That is,
new links in the opposite direction are generated. Immediately after
creation the new links possess the same weights as the original links.
However, the two links do not share the weight, i.e. subsequent
training usually changes the similarity. Connections impinging on a
site only become bidirectional, if the original source units has a
site with the same name.
* Links Make Inverse (selection :)
All unidirectional links between all selected units change their
direction. They keep their original value. Connections leading to a
site are only reversed if the original source unit has a site of the
same name. Otherwise they remain as they are.
* Links Delete Clique (selection : (site-popup))
* Links Delete from Source unit (selection [unit] : (site-popup))
* Links Delete to Target unit (selection [unit] : (site-popup))
These three operations are the reverse of Links Make in that they
delete the connections. If the safety flag is set (the word safe
appears behind the flag symbol in the manager panel), a confirmer
window confirms the deletion.
* Links Copy Input (selection [unit] :)
* Links Copy Output (selection [unit] :)
* Links Copy All (selection [unit] :)
Links Copy Input copies all input links of the selected group of units
to the single unit under the mouse pointer. If sites are used,
incoming links are only copied if a site with the same name as in the
original units exists.
Links Copy Output copies all output links of the selected group of
units to the single unit under the mouse pointer.
Links Copy All performs both of the two operations above.
* Links Copy Environment (selection site-links [unit] :)
This is a rather complex operation: Links Copy Environment tries to
duplicate the links between all selected units and the current TARGET
unit in the info panel at the place of the unit under the mouse
pointer. The relative position of the selected units to the TARGET
unit plays an important role: if a unit exists that has the same
relative position to the unit under the mouse cursor as the TARGET
unit has to one of the selected units, then a link between this unit
and the unit under the mouse pointer is created. The result of this
operation is a copy of the structure of links between the selected
units and the TARGET unit at the place of the unit under the mouse
pointer. That is, one obtains the same link topology at the unit under
the mouse pointer. See the user manual for an example.
* Sites Add (selection : popup)
A site which is chosen in a popup window is added to all selected
units. The command has no effect for all units which already have a
site of this name (because the names of all sites of a unit must be
different).
* Sites Delete (selection : popup)
The site that is chosen in the popup window is deleted at all selected
units that possess a site of this name. Also all links to this site
are deleted. If the safety flag is set (in the manager panel the word
safe is displayed behind the flag icon at the bottom), then a
confirmer window first confirms the deletion.
* Sites Copy with No links (selection site :)
* Sites Copy with All links (selection site :)
The current site of the Target unit is added to all selected units
which do not have this site yet. Links are copied together with the
site only with the command Site Copy with All links. If a unit already
has a site of that name, only the links are copied.
* Units Freeze (selection :)
* Units Unfreeze (selection :)
These commands are used to freeze or unfreeze all selected units.
Freezing means, that the unit does not get updated anymore, and
therefore keeps its activation and output. Upon loading input units
change only their activation, while keeping their output. For output
units, this depends upon the setting of the pattern load mode. In the
load mode Output only the output is set. Therefore, if frozen output
units are to keep their output, another mode (None or Activation) has
to be selected. A learning cycle, on the other hand, executes as if no
units have been frozen.
* Units Set Name (selection TARGET :)
* Units Set Activation(selection TARGET :)
* Units Set Initial activation (selection TARGET :)
* Units Set Output (selection TARGET :)
* Units Set Bias (selection TARGET :)
* Units Set io-Type (selection : popup)
* Units Set Function Activation (selection : popup)
* Units Set Function Output (selection : popup)
* Units Set Function F-type (selection : popup)
Sets the specific attribute of all selected units to a common value.
Types and functions are defined by a popup window. The operations can
be aborted by immediately clicking the DONE button in the popup
without selecting an element of the list.
The remaining attributes are read from the corresponding fields of the
Target unit in the info panel. The user can of course change the
values there (without clicking the SET button) and then execute Units
Set A different approach would be to make a unit target unit (click on
it with the middle mouse button) which already has the desired values.
This procedure is very convenient, but works only if appropriate units
exist already. It is a good idea to create a couple of such model
units first, to be able to quickly set different attribute sets in the
info panel.
* Units Insert Default ([empty] DEFAULT :)
* Units Insert Target ([empty] TARGET :)
* Units Insert F-type ([empty] : popup)
This command is used to insert a unit with the IO-type hidden. It has
no connections and its attributes are set according to the default
values and the Target unit. With the command Units Insert Default, the
unit gets no F-type and no sites. With Units Insert F-type an F-type
and sites have to be selected in a popup window. Units Insert Target
creates a copy of the target unit in the info panel. If sites or
connections are to be copied as well, the command Units Copy All has
to be used instead.
* Units Delete (selection :)
All selected units are deleted. If the safety flag is set (safe
appears in the manager panel behind the flag symbol) the deletion has
to be confirmed with the confirmer.
* Units Move (selection TARGET : dest?)
All selected units are moved. The Target unit is moved to the position
at which the mouse button is clicked. This postion must not be
occupied by an unselected unit, because a position conflict will
result otherwise. All other units move in the same way relative to
that position. The command is ignored, if
- the target position is occupied by an unselected unit, or
- units would be moved to grid positions already taken by unselected
units.
It might happen that units are moved beyond the right or lower border
of the display. These units remain selected, as long as not all units
are deselected (click the right mouse button to an empty grid
position).
As long as no target is selected, the editor reacts only to Return,
Quit or Help. Positioning is eased by displaying the unit outlines
during the move. The user may also switch to another display. If this
display has a different subnet number, the subnet number of the units
change accordingly. Depending upon layer and subnet parameters, it can
happen that the moved units are not visible at the target.
If networks are generated externally, it might happen that several
units lie on the same grid position. Upon selection of this position,
only the unit with the smallest number is selected. With 'Units Move'
the user can thereby clarify the situation.
* Units Copy ... (selection : dest?)
* Units Copy All
* Units Copy Input
* Units Copy Output
* Units Copy None
This command is similar to Units Move. Copy creates copies of the
selected units at the positions that would be assigned by Move.
Another difference is that if units are moved to grid positions of
selected units the command is ignored. The units created have the same
attributes as their originals, but different numbers. Since unit types
are copied as well the new units also inherit the activation function,
output function and sites. There are four options regarding the
copying of the links. If no links are copied, the new unit has no
connections. If, for example, the input links are copied, the new
units have the same predecessors as their originals.
* Units Copy Structure ... (selection : dest?)
* Units Copy Structure All
* Units Copy Structure Input
* Units Copy Structure Output
* Units Copy Structure None
* Units Copy Structure ... binding (selection : dest? (site-popup))
* Units Copy Structure Back binding
* Units Copy Structure Forward binding
* Units Copy Structure Double binding
These commands are refinements of the general Copy command. Here, all
links between the selected units are always copied as well. This means
that the substructure is copied form the originals to the new units.
On a copy without Structure these links would go unnoticed. There are
also options, which additional links are to be copied. If only the
substructure is to be copied, the command Units Copy Structure None is
used.
The options with binding present a special feature. There, links
between original and copied units are inserted automatically, in
addition to the copied structure links. Back, Forward and Double
specify thereby the direction of the links, where 'back' means the
direction towards the original unit. If sites are used, the
connections to the originals are assigned to the site selected in the
popup. If not all originals have a site with that name, not all new
units are linked to their predecessors.
With these various copy options, large, complicated nets with the same
or similar substructures can be created very easily.
* Mode Units (:)
* Mode Links (:)
Switches to the mode Units or Links. All sequences of the normal modes
are available. The keys U and L need not be pressed anymore. This
shortens all sequences by one key.
* Units ... Return (:)
* Links ... Return (:)
Returns to normal mode after executing Mode Units,
* Graphics All (:)
* Graphics Complete (:)
* Graphics Units (:)
* Graphics Links (:)
These commands initiate redrawing the whole net, or parts of the net.
With the exception of Graphics Complete, all commands affect only the
current display. They are especially usefull after a deletion of
links.
* Graphics Direction ([unit] :)
This command assigns arrow heads to all links leading to/from the unit
selected by the mouse. This is done independently from the setup
values. XGUI, however, does not recall that links have been drawn.
This means that after moving a unit, these links remain in the window,
if the display of links is switched off in the SETUP.
* Graphics Move (TARGET [empty]/[unit] :)
The origin of the window (upper left corner) is moved in a way that
the Target unit in the info panel becomes visible at the position
specified by the mouse.
* Graphics Origin ([empty]/[unit] :)
The position specified by the mouse becomes new origin of the display
(upper left corner).
* Graphics Grid (:)
This command draws a point at each grid position. The grid, however,
is not refreshed, therefore one might have to redo the command from
time to time.
----------------------------------------------------------------------
* An Example Dialogue
A short example dialogue for the construction of an XOR network might
clarify the use of the editor. First the four units are created. In
the info panel the target name 'input' and the Target bias 0 is
entered.
Status Command Comments
----------------------------------------------------------------------
> Mode Units switch on mode units
Units> set mouse to position (3,5)
Units> Insert Target insert unit 1 with the attributes of
the Target unit here
repeat for position (5,5)
Units> name = "hidden", bias = -2.88
Units> Insert Target position (3,3); insert unit 3
Units> name = "output", bias = -3.41
Units> Insert Target position (3,1); insert unit 4
Units> Return return to normal mode
> Mode Links switch on link mode
Links> select both input units and set mouse
to third (hidden) unit
Links> weight = 6.97
Links> Make to Destination create links
Links> set mouse to unit 4, weight = -5.24
Links> Make to Destination create links
Links> deselect all units and select unit 3
Links> set mouse to unit 4, weight = 11.71
Links> Make to Destination create links
Now the topology is defined. The only actions remaining are to set the
IO types and the four patterns. To set the IO types, one can either
use the command Units Set Default io-type, which sets the types
according to the topological position of the units, or repeatedly use
the command Units Set io-Type. The second option can be aborted by
pressing the Done button in the popup window before making a
selection.
----------------------------------------------------------------------
----------------------------------------------------------------------
* TOPICS
----------------------------------------------------------------------
* Using The Graphical User Interface
* XGUI Files
* Windows of XGUI
* Manager Panel
* Info Panel
* 2D Displays
* Setup Panel
* Unit Function Displays
* File Browser
* Loading and Saving Networks
* Loading and Saving Patterns
* Loading and Saving Configurations
* Saving a Result file
* Defining the Log File
* Help Windows
* Print Panel
* Remote Panel
* Weight Display
* Graph Window
* Creating and Editing F-types and Sites
----------------------------------------------------------------------
* Graphical Network Editor
----------------------------------------------------------------------
* Editor Modes
* Selection
* Selection of Units
* Selection of Links
* Use of the Mouse
* left mouse button
* right mouse button
* middle mouse button
* Keyboard
----------------------------------------------------------------------
* Short Command Reference
----------------------------------------------------------------------
* Links Make
* Links Delete
* Links Copy
* Sites
* Sites Copy
* Units
* Units Set
* Units Set Function
* Units Insert
* Units Delete
* Units Move
* Units Copy
* Units Copy Structure
* Mode
* Graphics
----------------------------------------------------------------------
* Editor Commands
----------------------------------------------------------------------
* Flags Safety
* Links Set
* Links Make Clique
* Links Make from Source unit
* Links Make to Target unit
* Links Make Double
* Links Make Inverse
* Links Delete Clique
* Links Delete from Source unit
* Links Delete to Target unit
* Links Copy Input
* Links Copy Output
* Links Copy All
* Links Copy Environment
* Site Add
* Sites Delete
* Sites Copy with No links
* Sites Copy with All links
* Units Freeze
* Units Unfreeze
* Units Set Name
* Units Set Activation
* Units Set Initial activation
* Units Set Output
* Units Set Bias
* Units Set S-type
* Units Set Function Activation
* Units Set Function Output
* Units Set Function F-type
* Units Insert Default
* Units Insert Target
* Units Insert F-type
* Units Delete
* Units Move
* Units Copy All
* Units Copy Input
* Units Copy Output
* Units Copy None
* Units Copy Structure All
* Units Copy Structure Input
* Units Copy Structure Output
* Units Copy Structure None
* Units Copy Structure Back binding
* Units Copy Structure Forward binding
* Units Copy Structure Double binding
* Mode Units
* Mode Links
* Graphics All
* Graphics Complete
* Graphics Units
* Graphics Links
* Graphic Direction
* Graphics Move
* Graphics Origin
* Graphics Grid
----------------------------------------------------------------------
* An Example Dialogue
----------------------------------------------------------------------